package main
import "fmt"
func main() {
	var a = 10
	fmt.Printf("a的值为：%v，a的类型为：%T，a的内存地址为：%p\n", a, a, &a)
	// 通过【&变量名】获取这个变量的地址
	var p *int = &a
	// 通过【*指针名】获取这个指针所存储的地址所存储的值
	fmt.Printf("p的值为：%v，p的类型为：%T，p所对应的地址所存储的值为：%v\n", p, p, *p)

	// 指针变量自身也有地址
	var ptr = &p 
	// ptr的值为：0xc000050028，ptr的类型为：**int，ptr所对应的地址所存储的值为：0xc00000a0b8
	fmt.Printf("ptr的值为：%v，ptr的类型为：%T，ptr所对应的地址所存储的值为：%v\n", ptr, ptr, *ptr)
}